package cn.tedu.work;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.MessageProperties;

import java.util.Scanner;

public class WorkProduer {
    public static void main(String[] args) throws Exception{
        //1.配置连接信息
        ConnectionFactory cf = new ConnectionFactory();
        cf.setHost("127.0.0.1");
        cf.setPort(5672);//5672是默认端口，可以省略
        cf.setUsername("guest");
        cf.setPassword("guest");
        //2.创建tcp连接对象
        Connection nc = cf.newConnection();
        //3.创建channel
        Channel cc = nc.createChannel();
        //4.创建队列
        /*
          第一个参数：队列名称
          第二个参数：队列是否持久化
          第三个参数：队列是否独占
          第四个参数：队列是否自动删除
          第五个参数：其他属性设置
         */
        cc.queueDeclare("task_queue",true,false,false,null);
        //5.在控制台循环准备数据，发送数据
        while (true){
            System.out.print("输入要发送的消息:");
            String msg = new Scanner(System.in).nextLine();
            if(msg.equals("quit"))
                break;
            cc.basicPublish("","task_queue", MessageProperties.PERSISTENT_TEXT_PLAIN,msg.getBytes());
        }
        nc.close();
    }
}
